<?php
//require_once 'logControlador.php';
//require_once 'usuarioControlador.php';
require_once '../ORM/ORMCliente.php';
require_once 'alertaControlador.php';
require_once '../beans/cliente.php';

if(!empty ($_POST)) {
    switch($_POST['accion']) {
        case 'agregarCliente':
            $nombre = filter_input(INPUT_POST, 'nombre', FILTER_SANITIZE_STRING);
            agregarCliente($nombre);
            break;
        case 'getClientesExistentes':
            getClientesExistentes();
            break;
        case 'getClientesCombo':
            getClientesCombo();
            break;
    }
}

function agregarCliente($nombre) {
    if(strlen($nombre) > 0) {
        if(ORMExisteCliente($nombre)) {
            alerta("#resultadoNombre", "El cliente ya existe.");
        } else {
            ORMAgregarCliente($nombre);
            if(ORMExisteCliente($nombre)) {
                ok("#resultadoNombre", "El cliente se agreg&oacute; exitosamente.");
                ?>
<script type="text/javascript">
    $(document).ready(function() {
        getClientes();
        $("#nombre").val("");
        $("#nombre").focus();
    });
</script>
                <?php
            } else {
                error("#resultadoNombre", "No se pudo crear el cliente.");
            }
        }
    } else {
        alerta("#resultadoNombre", "Debe escribir un nombre para el cliente.");
        //agregarLog("El usuario ".getNombreUsuario()." no especifico el nombre de proveedor");
    }
}

function getClientesExistentes() {
    $clientes = ORMGetClientes();
    
    if(count($clientes) > 0) {
        echo "<table class='table table-striped table-bordered'>\n";
        foreach ($clientes as $key => $value) {
            echo "<tr class=\"alternate-row\">\n";
            echo "<td width=\"100%\"><div id=\"".$key."\"><label>".$value."</label></div></td>\n";
            echo "</tr>";
        }
        echo "</table>\n";
    } else {
        echo "<div class='alert alert-error'><b>Alerta !</b><br />No hay clientes.</div>";
    }
}

function getClientesCombo() {
    $clientes = ORMGetClientes();
    
    echo "<select id=\"clientesCombo\">\n";
    foreach ($clientes as $key => $value) {
        echo "<option value=\"".$key."\">".$value."</option>\n";
    }
    echo "</select>\n";
}

function getNombreCliente($idCliente) {
    return ORMGetNombreCliente($idCliente);
}

function getTodosLosClientes() {
    return ORMGetClientes();
}

function existeCliente($nombre) {
    return ORMExisteCliente($nombre);
}

function getCliente($nombre) {
    $cliente = new cliente();
    $cliente->setIdCliente(ORMGetIdClientePorNombre($nombre));
    $cliente->setNombre($nombre);
    
    return $cliente;
}

function getClientePorId($idCliente) {
    $cliente = new cliente();
    $cliente->setIdCliente($idCliente);
    $cliente->setNombre(ORMGetCampoDeClientePorId('nombre', $idCliente));
    
    return $cliente;
}
?>